#ifndef BASIC_OP_H_H
#define BASIC_OP_H_H

#include "common.h"
#include <stdlib.h> 
#include <stdio.h>

void bittonibble( bit intrans[] , const int n , nibble& outtrans ) ;
void nibbletobit( nibble intrans , const int n , bit outtrans[] ) ;
void wordtonibble( word intrans , const int n , nibble outtrans[] ) ;
void nibbletoword( nibble intrans[] , const int n , word& outtrans ) ;

void sbox( nibble insbox[] , const int n , nibble outsbox[] ) ;
void linear_mix( nibble inmix[] , const int n , nibble outmix[] ) ;
void player( nibble inp[] , const int n , nibble outp[] ) ;
void keyxor( nibble inkey[] , nibble roundkey[] , const int n , nibble outkey[] ) ;
void shiftlayer( bit inshift[] , const int n , int shift_value , bit outshift[] ) ;  
void fputnc( char str[] , int n , FILE* fp ) ;

#endif